<?php
Class ServicioobtenidosController extends AppController
{
	var $name = 'Servicioobtenidos';
	
	function index()
	{
		$this->setearSubMenu();

	}

	//genera una lista de los servicios que empieza con $nombre
	function listarServiciosObtenidos($iLimiteInic=null, $iLimiteFin=null, $nombre='')
	{
		/* 	$fields = null;
			$condicion = array ("nombre" => "LIKE %$nombre%");
			$resultado = $this->Servicioobtenido->findAll($condicion,$fields,null,null,1,0);
			return($resultado);
		*/

		$iLimiteInic=empty($iLimiteInic)?0:$iLimiteInic;
		$iLimiteFin=empty($iLimiteFin)?10:$iLimiteFin;
		$sSql = "select so.id, s.nombre, so.vencimiento, so.habilitado, so.servicios_id
				 from servicioobtenidos so
				 left join servicios s on s.id = so.servicios_id
				 where s.nombre like '$nombre%'
				 order by s.nombre
				 limit $iLimiteInic,$iLimiteFin
			    ";
		$aResultado = $this->Servicioobtenido->query($sSql);
		//echo($sSql);
		//echo($resultado);
		return($aResultado);
	}

	function getServiciosObtenidos($iInicio=null, $iCant=null, $sTipo='JSON')
	{
		$iFin=$iInicio+$iCant;
		$aServiciosOb = $this->listarServiciosObtenidos($iInicio, $iFin);
		$sFilas='';
		$n = sizeof($aServiciosOb);
		$sFilas="[";
		for($i=0; $i<$n; $i++)
		{
			//creamos la tabla de datos de ingresos
			$gd_id=				"id:\""				.$aServiciosOb[$i]['so']['id']									. "\"";
			$gd_nombre=			"nombre:\""			.$aServiciosOb[$i]['s']['nombre']								. "\"";
			$gd_vencimiento=	"vencimiento:\""	.(($aServiciosOb[$i]['so']['vencimiento']=='0000-00-00')?'':$this->convertDmyToYmd($aServiciosOb[$i]['so']['vencimiento']))	. "\"";
			$gd_habilitado=		"habilitado:\""		.(($aServiciosOb[$i]['so']['habilitado']==1)?'Si':'No')			. "\"";			
			$gd_servicios_id=	"servicios_id:\""	.$aServiciosOb[$i]['so']['servicios_id']						. "\"";

			($i<sizeof($aServiciosOb)-1)?$sDelimitador = ',':$sDelimitador = ']';
			$sFilas .= "{" 	. $gd_id 			. "," 
							. $gd_nombre 		. "," 
							. $gd_vencimiento 	. "," 
							. $gd_habilitado 	. "," 							
							. $gd_servicios_id	. 
						"}" 
							. $sDelimitador . "\n";
			
		}
		$this->layout = false;
		echo $sFilas;
	}

	
	/*
	 * Genera una lista de los servicios obtenidos
	 */
	function listarServicios($nombre=null, $habilitado=null)
	{
		$serviciosObtenidos = array();
		$where=' where s.id=so.servicios_id ';
		if (!empty($nombre))
		{
			$where.=(($where=='')?'' : ' and ')." s.nombre like '$nombre%' ";
		}
		if (!empty($habilitado))
		{
			$where.=(($where=='')?'' : ' and ').' so.habilitado = 1 ';
		}
		$sql=" select s.id, s.nombre
			   from servicios s, servicioobtenidos so 
			   $where;
			   ";

		$resultado=$this->Servicioobtenido->query($sql);

		foreach ($resultado as $id => $servicio) 
		{
			if (!empty($servicio['s'])) 
			{
				$idsrv = $servicio['s']['id'];
				$serviciosObtenidos["$idsrv"] =  $servicio['s']['nombre'] ;
			}
		}
		return $serviciosObtenidos;
	}

	
	//seteamos las variables de error para las vistas add y modify servicios brindados
	function setearVariables()
	{
		$this->set('status', 'Los datos del cliente deben ser completados.');
		$error = array
		(
			'Servicio/nombre' => 'El nombre ya existe o contiene caracteres no permitidos.',
			'Serviciobrindado/precio_sugerido' => 'El formato del precio no es correcto.'
		);
		$this->set('error',$error);
	}
	
	function add($idServicio,$vencimiento=null) 
	{
	//setea la variables de errores y status
	$this->setearVariables();
	//Si los campos no estan vacios intenta guardar los datos de la persona
	if(!empty($this->data['Servicioobtenido']))
	{
		$this->data['Servicioobtenido']['servicios_id']=$idServicio;
		if($vencimiento==null && (!empty($this->data['Servicioobtenido']['vencimiento'])))//el valor de la vista
			$vencimiento = $this->data['Servicioobtenido']['vencimiento'];

		if ($vencimiento!=null) {
			$this->data['Servicioobtenido']['vencimiento']=$this->convertDmyToYmd($vencimiento);
		}
		$this->Servicioobtenido->save($this->data['Servicioobtenido']);

		return true;
	}
	else 
		return false;
	}
	
	//modifica un registro del servicio obtenido
	function modify()
	{
		if(!empty($this->data['Servicioobtenido']))
		{
			if(!empty($this->data['Servicioobtenido']['vencimiento']))//el valor de la vista
			{
				$vencimiento = $this->data['Servicioobtenido']['vencimiento'];
				$this->data['Servicioobtenido']['vencimiento']=$this->convertDmyToYmd($vencimiento);
			}
			$this->Servicioobtenido->save($this->data);
		}
	}

	function validarCampos()
	{
		$this->setearVariables();
		$this->Serviciobrindado->data = $this->data['Servicioobtenido'];
		if ($this->Servicioobtenido->validates())
			return true;
		else
			return false;
	}
	
	function setearSubMenu(){
		$aSubMenu[0]['title'] = 'Agregar';
		$aSubMenu[0]['href']	 = PATH . 'servicios/addObtenido';
		$aSubMenu[0]['image']	 = '';
		
		$aSubMenu[1]['title'] = 'Modificar';
		$aSubMenu[1]['href']	 = PATH . 'servicios/listarModifyObtenido';
		$aSubMenu[1]['image']	 = '';

		$aSubMenu[2]['title'] = 'Listar';
		$aSubMenu[2]['href']	 = PATH . 'servicioobtenidos';
		$aSubMenu[2]['image']	 = '';

		$this->set('aSubMenu', $aSubMenu);
	
	}

}
?>